package com.spark.invoicings.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.math.BigDecimal;
import java.io.Serializable;

import lombok.Data;

/**
 * 商品表
 * 
 * @author sunyan
 * @email sunyan@gmail.com
 * @date 2024-06-13 11:10:42
 */
@Data
@TableName("t_purchase_product")
public class Product implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 商品ID
	 */
	@TableId(type = IdType.AUTO)
	private Integer productId;
	/**
	 * 商品编码
	 */
	private String productCode;
	/**
	 * 商品名称
	 */
	private String productName;
	/**
	 * 规格型号
	 */
	private String model;
	/**
	 * 商品分类：1.天幕、2.座椅、3.桌子、4.其他
	 */
	private Integer productClassificationId;
	/**
	 * 单位：1.箱、2.盒、3.套、4.件、5.台、6.个
	 */
	private Integer unitId;
	/**
	 * 商品图片
	 */
	private String imageUrl;
	/**
	 * 仓库ID
	 */
	private Integer warehouseId;
	/**
	 * 成本单价
	 */
	private double costPrice;
	/**
	 * 销售单价
	 */
	private double sellingPrice;
	/**
	 * 当前库存数量
	 */
	private Integer currentInventory;
	/**
	 * 采购在途数量
	 */
	private Integer onWayAmount;
	/**
	 * 期初库存数量
	 */
	private Integer initialInventory;
	/**
	 * 库存下限
	 */
	private Integer stockLowerLimit;

	@TableField(exist = false)
	private Warehouse warehouse;
	/**
	 * 商品分类
	 */
	@TableField(exist = false)
	private String d1Label;

	/**
	 * 商品单位
	 */
	@TableField(exist = false)
	private String d2Label;

	public Integer getProductId() {
		return productId;
	}

	public void setProductId(Integer productId) {
		this.productId = productId;
	}

	public String getProductCode() {
		return productCode;
	}

	public void setProductCode(String productCode) {
		this.productCode = productCode;
	}

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}

	public Integer getProductClassificationId() {
		return productClassificationId;
	}

	public void setProductClassificationId(Integer productClassificationId) {
		this.productClassificationId = productClassificationId;
	}

	public Integer getUnitId() {
		return unitId;
	}

	public void setUnitId(Integer unitId) {
		this.unitId = unitId;
	}

	public String getImageUrl() {
		return imageUrl;
	}

	public void setImageUrl(String imageUrl) {
		this.imageUrl = imageUrl;
	}

	public Integer getWarehouseId() {
		return warehouseId;
	}

	public void setWarehouseId(Integer warehouseId) {
		this.warehouseId = warehouseId;
	}

	public double getCostPrice() {
		return costPrice;
	}

	public void setCostPrice(double costPrice) {
		this.costPrice = costPrice;
	}

	public double getSellingPrice() {
		return sellingPrice;
	}

	public void setSellingPrice(double sellingPrice) {
		this.sellingPrice = sellingPrice;
	}

	public Integer getCurrentInventory() {
		return currentInventory;
	}

	public void setCurrentInventory(Integer currentInventory) {
		this.currentInventory = currentInventory;
	}

	public Integer getOnWayAmount() {
		return onWayAmount;
	}

	public void setOnWayAmount(Integer onWayAmount) {
		this.onWayAmount = onWayAmount;
	}

	public Integer getInitialInventory() {
		return initialInventory;
	}

	public void setInitialInventory(Integer initialInventory) {
		this.initialInventory = initialInventory;
	}

	public Integer getStockLowerLimit() {
		return stockLowerLimit;
	}

	public void setStockLowerLimit(Integer stockLowerLimit) {
		this.stockLowerLimit = stockLowerLimit;
	}

	public Warehouse getWarehouse() {
		return warehouse;
	}

	public void setWarehouse(Warehouse warehouse) {
		this.warehouse = warehouse;
	}

	public String getD1Label() {
		return d1Label;
	}

	public void setD1Label(String d1Label) {
		this.d1Label = d1Label;
	}

	public String getD2Label() {
		return d2Label;
	}

	public void setD2Label(String d2Label) {
		this.d2Label = d2Label;
	}
}
